<div id="page-wrapper">

	<div class="box-header">
		<h3 class="box-title"></h3>
		<!-- "开始考试"按钮 -->
		<input type="button" id="beginButton" value="开始考试" align="center" />
		<!-- pageId -->
		<div id="pageId" class="box-footer clearfix"></div>
	</div>
	<!-- /.box-header -->
	<div class="box-body table-responsive no-padding">
		<table class="table table-hover">
			<tbody id="tbodyId">
				<tr>
					<td colspan="7">等待点击开始...</td>
				</tr>
			</tbody>
		</table>
	</div>
	<!-- 交卷 -->
	<div align="center" id="submitPaper">
		<input type="submit" name="交卷"></input>
	</div>
	<hr />
	<!-- 显示结果 -->
	<p id="resultDisplay"></p>
	<!-- /.box-body -->
</div>
















<script type="text/javascript">
	// 0.事件都在此注册
	$(function() {
		$("#beginButton").css("background-color","yellow");
		/*  $("#pageId").load("doPageUI",doGetObjects); */ 
		$("#beginButton").click(doGetObjects);
		$("#submitPaper").click(doSubmitPaper);
	});
	
	//全局
	var wrongChoices= new Array();
	//声明从后台所获取题的id 全局
	var getQuestionsArray = new Array();
	//保存正确答案的id
	var rightResultChoiceArray = new Array();
	
	
	
	
	
	
	/*
	考试功能:
		根据页面选择的题类型,呈现随机产生的\固定个数的题对象到页面
	*/
	// 获取后台数据
	function doGetObjects() {
		/*var pageCurrent=$("#pageId").data("pageCurrent");
		if(!pageCurrent) pageCurrent=1; 
		var params={"pageCurrent":pageCurrent}
		var params={"pageCurrent":1}
		/* var params = "Java语言基础***"; */
		var select = $("#select1");
		var knowledgePoint = select.val();
		/* var params={"knowledgePoint":knowledgePoint}; */
		
		var url = "exam/doFindRandomQuestions";
		$.getJSON(url,function(result){
			doSetTableBodyRows(result.data);
		})
	}
	
	// 把内容(题)呈现到页面指定位置
	function doSetTableBodyRows(data) {
		var tBody = $("#tbodyId"); 
		tBody.empty();
		answerArray = new Array();
		for(var i=0; i < data.length + 1; i++){
			var divAll = $("<div></div>");
			var divContent = $("<div id="+(i+1)+" ></div>");
			var divChoice = $("<div></div>");
			var choiceAInput = $("<input type='radio' value='A' name='"+i+"'></input>");
			var choiceBInput = $("<input type='radio' value='B' name='"+i+"'></input>");
			var choiceCInput = $("<input type='radio' value='C' name='"+i+"'></input>");
			var choiceDInput = $("<input type='radio' value='D' name='"+i+"'></input>");
			var questionNumber = i+1 + ".&nbsp;&nbsp;";
			var strContent = data[i].content;
			//获取拿到的题的id们
			getQuestionsArray[i] = data[i].id;
			//获取标准答案(全局变量)
			answerArray[i] = data[i].answer;
			var strChoiceA = data[i].choiceA + "<br/>";
			var strChoiceB = data[i].choiceB + "<br/>";
			var strChoiceC = data[i].choiceC + "<br/>";
			var strChoiceD = data[i].choiceD + "<br/>"+"<br/>";
			divChoice.append(choiceAInput);
			divChoice.append(strChoiceA);
			divChoice.append(choiceBInput);
			divChoice.append(strChoiceB);
			divChoice.append(choiceCInput);
			divChoice.append(strChoiceC);
			divChoice.append(choiceDInput);
			divChoice.append(strChoiceD);
			divContent.append(questionNumber);
			divContent.append(strContent);
			divAll.append(divContent);
			divAll.append(divChoice);
			tBody.append(divAll);
		}
		// 最后加载"交卷"按钮
	
	}
	
	// 题干样式(暂时不会)
	/* $(".content").css("font-weight","bold"); */

	
	
	
	
	// 所有提交的选项
	var resultArray = new Array();
	//做错的题
	var wrongResults = new Array();
	// 处理结果 并 将成绩+错题传回后台
	var results = new Array();	//用于展示的结果数组

	/*
	交卷功能:
		把所做过的题保存数据库  成绩保存数据库
	*/
	function doSubmitPaper(){
		for (var i=0; i<answerArray.length; i++){	// 后台产生的所有随机题
			var str = i.toString();
			if(doJudge(str) != 10){ // 如果不是10 说明没有漏题
				resultArray[i] = doJudge(str);	//得到提交的答案数组
			}else{	//如果10,说明漏选
				alert("题还是要答完的,万一对了呢?回去看看了第"+(i+1)+"题做了没有!");	// 遗留问题 昨晚后也会提示第n+1题
				return false;
			}
		}
		var j=0;
		//答题结果临时保存以及 获取错题id以备回传数据库
		for (var i=0; i<resultArray.length; i++) {
			if(resultArray[i] == answerArray[i]){
				results[i] = "对";
			}else{
				//选错的答案放到这
				wrongChoices[j] = resultArray[i];
				results[i] = answerArray[i];	//错的话给出正确答案
				//获取错题库id
				wrongResults[j] = getQuestionsArray[i];	//j 临时变量,存放错题库id的数组的下标
				j++;
			}
		}
		doResultDisplay(results);
	}
	// 声明分数 全局
	var totalScore = 0;
	// 展示结果
	function doResultDisplay(results){
		// 先保证呈现部位干净
		$("#resultDisplay").empty();
		for(var i=0; i<results.length; i++){
			if (results[i] == "对") {
				totalScore = totalScore + 100/results.length;	//对的话分数增加
			}else{	//错的存入错题arr
				// 获取错题的库id并保存
			}
			// 呈现详细情况
			$("#resultDisplay").append((i+1)+ "." + results[i]+"&nbsp;"+"&nbsp;");
		}
		alert("计算分数为:"+totalScore);
		// 呈现分数
		$("#resultDisplay").append("&nbsp;得分:");
		$("#resultDisplay").append(totalScore);
		doReturnResults(totalScore, "user9527");//wrongResults是错误的题的库id wrongChoice是对应提交的错误选项
		// 	 获取错题对象
		//	 获取错题的id
		
		// 调用:"成绩""错题"传回后台方法
		/* doReturnResults(totalScore,); */
		
		// 调用:"成绩""错题"传回后台方法 (userName暂时写固定值)
		
	}
	// 辅助方法:判断是否漏做,返回所选value
	function doJudge(name){
		var whichNameIs = document.getElementsByName(name);
		var whichChoiceChecked = 9;
		for(var i=0; i<whichNameIs.length; i++){
			if(whichNameIs[i].checked){
				whichChoiceChecked = whichNameIs[i].value;
			}
		}
		if (whichChoiceChecked == 9){	// 如果true,还为9,说明这个题漏选了
			return 10;
		}else{	// 如果false,说明这个题做了,就把value反出去
			return whichChoiceChecked;
		}
	}
		
	//wrongResults是错误的题的库id wrongChoice是对应提交的错误选项
	function doReturnResults(score,username) {
		var url = "exam/doReturnResults";
		var params={
				"score" : score,
				"username" : username,
				"wrongResults" : wrongResults,
				"wrongChoices" : wrongChoices
		};
		$.getJSON(url,params, function(result){
			if(result.state==1){
				   alert(result.message);
				   //doGetObjects();//一种刷新方式
			   }else{
				   alert(result.message);
			   }
		})
	}
		
		
		
		
		
		
		
		
		
		
		
	// 声明: "成绩""错题"传回后台方法
/* 	doReturnResults(totalScore){
		
	} */

	
	
</script>
